#include <iostream>

using namespace std;
const int N=2100;
const int M=1e4+10;
int dp[M][2];
int v[N],w[N];
int main()
{
	int n,m,k;
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d",&v[i],&w[i]);
	}
	
	for(int i=1;i<=n;i++)
	{
		for(int j=m;j>=v[i];j--)
		{
			dp[j][0]=max(dp[j][0],dp[j-v[i]][0]+w[i]);
			dp[j][1]=max(dp[j][1],dp[j-v[i]][1]+w[i]);
			if(j>=k+v[i])
			{
				dp[j][1]=max(dp[j][1],dp[j-k-v[i]][0]+w[i]*2);
			}
		}
	}
	
	cout<<max(dp[m][1],dp[m][0])<<endl;
	
	return 0;
}
